package com.todo.strategy.online.infrastructure.repository;


import com.todo.strategy.online.infrastructure.entity.po.TravelFriendRelationPO;

import java.util.List;

/**
 * (TravelFriendRelation)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 21:10:04
 */
public interface TravelFriendRelationRepository {

    /**
     * 根据主键id更新出行人关联信息
     *
     * @param travelFriendRelationPO
     * @return
     */
    Boolean updateTravelFriendRelationPOById(TravelFriendRelationPO travelFriendRelationPO);

    /**
     * 根据主键id删除出行人关联信息
     *
     * @param id
     * @return
     */
    Boolean removeTravelFriendRelationPOById(Long id);

    /**
     * 根据主键id查询出行人关联信息
     *
     * @param id
     * @return
     */
    TravelFriendRelationPO queryTravelFriendRelationPOById(Long id);

    /**
     * 根据出行计划id查询出行人关联信息列表
     *
     * @param planId
     * @return
     */
    List<TravelFriendRelationPO> queryTravelFriendRelationListByPlanId(Long planId);

    /**
     * 根据用户id查询自己参与过的所有记录信息
     *
     * @param friendId
     * @return
     */
    List<TravelFriendRelationPO> queryJoinTravelRelationListByFriendId(Long friendId);

    /**
     * 新增出行人关联信息
     *
     * @param travelFriendRelationPO
     * @return
     */
    Boolean insertTravelFriendRelationPO(TravelFriendRelationPO travelFriendRelationPO);


}
